OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、
PDA和游戏主机等
嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。
简介
OpenGL ES (OpenGL for Embedded Systems) 是
OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等
嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。
OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了
glBegin/
glEnd,
四边形(GL_QUADS)、
多边形(GL_POLYGONS)等复杂
图元等许多非绝对必要的特性。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2.x 针对可编程管线硬件。OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的,它们分别又支持 common 和 common lite两种profile。lite profile只支持定点实数,而common profile既支持
定点数又支持
浮点数。 OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的,common profile发布于2005-8,引入了对可编程管线的支持。
OpenGL ES 还有一个safety-critical profile。
名字来源
OpenGL(全写Open Graphics Library)是个定义了一个跨
编程语言、
跨平台的
编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形
程序接口,是一个功能强大,调用方便的底层
图形库。
算法标准
OpenGL- ES 是免授权费的,
跨平台的,功能完善的
2D和3D图形
应用程序接口API,主要针对多种嵌入式系统专门设计 - 包括控制台、移动电话、
手持设备、家电设备和汽车。它由精心定义的桌面OpenGL子集组成,创造了软件与图形加速间灵活强大的底层交互接口。 OpenGL ES 包含
浮点运算和
定点运算系统描述以及
EGL针对便携设备的本地视窗系统规范。OpenGL ES 1.X 面向功能固定的硬件所设计并提供加速支持、图形质量及性能标准。OpenGL ES 2.X 则提供包括遮盖器技术在内的全可编程3D
图形算法。OpenGL ES-SC 专为有高安全性需求的特殊市场精心打造。
版本介绍
OpenGL ES 2.0 概况
- 支持
iPad, iPhone3GS 和后续版本,以及iPodTouch3代和后续版本。
- 支持Android平台从
Android 2.2版本开始。
- 支持
Android NDK从Android 2.0版本开始。
- 支持
BlackBerryPlayBook黑莓。
- 支持少数新款Nokia
诺基亚手机,比如N900上的
Maemo和
N8上的Symbian3塞班3系统。
- 支持多款
三星手机,包括Galaxy S和Wave。
- 使用开发插件可以支持Palm webOS。
- 支持Archos
爱可视上网本:70 IT, 101 IT
OpenGL ES 2.0
OpenGL ES 2.0是
Khronos Group在2007年3月份制定的一种业界标准
应用程序编程接口(API),可以大大提高不同消费
电子设备的3D图形渲染速度,在
嵌入式系统上实现了全面可编程的3D图形。
AMD的认证测试是在一套AMD Z430开发套装上进行的,曾在今年的巴塞罗那全球移动大会上进行演示,也就是当时AMD发布了支持OpenGL ES 2.0的Z460图形核心。在满足了OpenGL ES 2.0规范的关键特性,并通过了大量严格测试后,AMD获得了Khronos的认证。
备注:
opengl es与
android有着密切的关系,主要体现在这两种接口的发展轨迹和研发公司。
OpenGL ES 3.0主要新功能有:
1、
渲染管线多重增强,实现先进视觉效果的加速,包括遮挡查询(Occlusion
Query)、变缓反馈(Transform Feedback)、实例渲染(Instanced Rendering)、四个或更多
渲染目标支持。
2、高质量ETC2/EAC纹理
压缩格式成为一项标准功能,不同平台上不再需要需要不同的纹理集。
3、新版
GLSL ES 3.0着色语言,全面支持整数和32位
浮点操作。
4、纹理功能大幅增强,支持
浮点纹理、3D纹理、深度纹理、顶点纹理、NPOT纹理、R/RG单
双通道纹理、不可变纹理、2D阵列纹理、无二次幂限制纹理、阴影对比、调配(
swizzle)、
LOD与mip level clamps、无缝
立方体贴图、采样对象、纹理
MSAA抗锯齿
渲染器。
5、一系列广泛的精确尺寸纹理和渲染缓冲格式,便携
移动应用更简单。
OpenGL ES工作组会在六个月内更新OpenGL ES采纳者项目,提供广泛的
兼容性测试,并提供相关
源代码。
ARM、HI Corporation、Imagination、
NVIDIA、
高通、
ZiiLABS等等都第一时间表达了对OpenGL ES 3.0的大力支持,其中ARM今天刚刚发布的第二代
Mali-T600系列最新移动GPU就支持OpenGL ES 3.0。
2D/3D图形
知识产权IP提供商Digital Media Professionals Inc. (DMP)也同时宣布,其基于可扩展SMAPH-S着色器的图形IP
产品系列也已支持OpenGL ES 3.0。